Nowadays, event model has become a fundamental part of many framework and infrastructure. Users often want to get real-time indications and automatic tracing of events when using event model-based applications. For example, when banking service users use management application products developed by Java and JLog, they might wish software providers to add real-time indications and automatic tracing of events to existing software products. However, it takes a relatively high cost to frequently add different processes by means of existing logging tools.
Existing logging tools (hereinafter referred to as logging modules) comprise, for example: (1) JLog (Logging Toolkit for Java), provided by IBM and having a variety of functions for logging and tracing. JLog can create detailed logs and debug files while working in the background; (2) Log4J, which is used for message logging, where the destination of the logged messages may be consoles, files, GUI components, socket servers, NT event recorders, UNIX Syslog daemon processes, etc., and users can control the output format of each log; and which can be flexible configured via a configuration file without modifying program code; (3) Huston and (4) Trace Log etc.
However, these logging modules usually have the following problems: but for logging, processes such as real-time indication and pre-defined operations, may be executed on log events inconveniently; the implementation of the log event capture and indication varies from system to system; when extra processes are needed, a lot of analysis and design work will be involved and hard-coded settings are needed in programs; and reuse is hard for users and maintainers.